include_rules = [
    "+base/atomic_sequence_num.h",
    "+base/barrier_closure.h",
    "+base/cancelable_callback.h",
    "+base/memory/values_equivalent.h",
    "+base/files/file.h",
    "+base/guid.h",
    "+base/mac/foundation_util.h",
    "+base/memory/scoped_policy.h",
    "+base/memory/scoped_refptr.h",
    "+base/profiler/sample_metadata.h",
    "+base/strings/stringprintf.h",
    "+base/task/sequence_manager/task_time_observer.h",
    "+base/test/bind.h",
    "+base/test/simple_test_tick_clock.h",
    "+base/threading/thread_restrictions.h",
    "+base/time",
    "+base/unguessable_token.h",
    "+base/values.h",
    "+cc/animation/animation_host.h",
    "+cc/animation/scroll_offset_animation_curve.h",
    "+cc/animation/scroll_offset_animations.h",
    "+cc/animation/scroll_timeline.h",
    "+cc/base/features.h",
    "+cc/base/region.h",
    "+cc/input/browser_controls_state.h",
    "+cc/input/event_listener_properties.h",
    "+cc/input/main_thread_scrolling_reason.h",
    "+cc/input/overscroll_behavior.h",
    "+cc/input/scroll_snap_data.h",
    "+cc/input/scroll_state.h",
    "+cc/input/scroll_utils.h",
    "+cc/input/scrollbar.h",
    "+cc/input/snap_fling_controller.h",
    "+cc/input/snap_selection_strategy.h",
    "+cc/layers/content_layer_client.h",
    "+cc/layers/heads_up_display_layer.h",
    "+cc/layers/layer.h",
    "+cc/layers/picture_layer.h",
    "+cc/layers/scrollbar_layer_base.h",
    "+cc/layers/surface_layer.h",
    "+cc/metrics/begin_main_frame_metrics.h",
    "+cc/metrics/frame_sequence_tracker_collection.h",
    "+cc/trees/browser_controls_params.h",
    "+cc/trees/layer_tree_host.h",
    "+cc/trees/paint_holding_commit_trigger.h",
    "+cc/trees/paint_holding_reason.h",
    "+cc/trees/ukm_manager.h",
    "+components/performance_manager/public/mojom/coordination_unit.mojom-blink.h",
    "+components/performance_manager/public/mojom/web_memory.mojom-blink.h",
    "+gpu/config/gpu_feature_info.h",
    "-inspector/v8",
    "+mojo/public/cpp/base",
    "+mojo/public/cpp/bindings",
    "+mojo/public/cpp/system",
    "+mojo/public/mojom/base",
    "+services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h",
    "+services/device/public/mojom/device_posture_provider.mojom-blink-forward.h",
    "+services/device/public/mojom/device_posture_provider.mojom-blink.h",
    "+services/device/public/mojom/wake_lock.mojom-blink.h",
    "+services/metrics/public",
    "+services/network/public/cpp/cors/cors_error_status.h",
    "+services/network/public/cpp/cross_origin_embedder_policy.h",
    "+services/network/public/cpp/features.h",
    "+services/network/public/cpp/is_potentially_trustworthy.h",
    "+services/network/public/cpp/request_destination.h",
    "+services/network/public/cpp/request_mode.h",
    "+services/network/public/cpp/web_sandbox_flags.h",
    "+services/service_manager/public",
    "+skia/public/mojom",
    "+third_party/blink/public/common",
    "+third_party/blink/public/mojom",
    "+third_party/blink/public/public_buildflags.h",
    "+third_party/blink/public/web",
    "+third_party/blink/renderer/bindings/core",
    "-third_party/blink/renderer/bindings/modules",
    "+third_party/blink/renderer/core",
    "-third_party/blink/renderer/modules",
    "+third_party/skia/include",
    "+ui/accessibility/ax_enums.mojom-blink-forward.h",
    "+ui/accessibility/ax_enums.mojom-blink.h",
    "+ui/accessibility/ax_event.h",
    "+ui/accessibility/ax_event_intent.h",
    "+ui/accessibility/ax_mode.h",
    "+ui/base/cursor/cursor.h",
    "+ui/base/ime/ime_text_span.h",
    "+ui/base/ime/mojom/ime_types.mojom-blink-forward.h",
    "+ui/base/ime/mojom/ime_types.mojom-blink.h",
    "+ui/base/ime/mojom/text_input_state.mojom-blink.h",
    "+ui/base/mojom/attributed_string.mojom-blink.h",
    "+ui/base/pointer/pointer_device.h",
    "+ui/base/resource/resource_scale_factor.h",
    "+ui/base/ui_base_features.h",
    "+ui/display/screen_info.h",
    "+ui/display/screen_infos.h",
    "+ui/gfx/animation/keyframe/animation_curve.h",
    "+ui/gfx/geometry",
    "+ui/gfx/range/range.h",
    "-web",
    # We do not want any new dependencies into core/exported until we resolve
    # controller layer.
    "!third_party/blink/renderer/core/exported",
    # We do not want any new dependencies on Web(Local|Remote)FrameBase.h until
    # we resolve the control layer.
    "!third_party/blink/renderer/core/frame/web_local_frame_impl.h",
    "!third_party/blink/renderer/core/frame/web_remote_frame_impl.h",
]

specific_include_rules = {
    # Additional allowed includes for tests.
    ".*_test(_.*)?\.(cc|h|mm)" : [
        "+base/timer/lap_timer.h",
        "+base/message_loop/message_loop.h",
        "+base/test/test_mock_time_task_runner.h",
        "+base/threading/thread_task_runner_handle.h",
        # Test harness may use cc directly instead of going through WebViewImpl etc.
        "+cc",
        "+components/ukm/test_ukm_recorder.h",
        "+components/viz/test",
	# TODO(crbug.com/838693): Test harnesses use LayerTreeView
	# from content instead of a fake WebLayerTreeView implementation, so
	# that the Web abstraction can go away.
        "+content/renderer/compositor",
        "+content/test",
        # Unit tests may use gpu/ for mocking and faking and for config tweaks.
        "+gpu/command_buffer/client/raster_implementation_gles.h",
        "+gpu/config",
        "+testing/perf/perf_result_reporter.h",
        "+third_party/blink/renderer/core/frame/web_local_frame_impl.h",
        "+third_party/blink/renderer/core/frame/web_remote_frame_impl.h",
        "+gin",
        "+url/url_util.h"
    ],
    "data_object_item.cc" : [ "+ui/gfx/codec" ],
    "chrome_client.h" : [
        "+ui/gfx/delegated_ink_metadata.h",
        "+components/viz/common/surfaces/frame_sink_id.h",
    ],
    "clipboard_utilities.cc" : [ "+net/base/escape.h" ],
    "find_in_page.cc" : [
        "+third_party/blink/renderer/core/frame/web_local_frame_impl.h",
    ],
    "find_task_controller.cc" : [
        "+third_party/blink/renderer/core/frame/web_local_frame_impl.h",
    ],
    "html_media_element_test.cc": [
        "+base/test/gtest_util.h",
    ],
    "element_test.cc": [
        "+third_party/blink/renderer/core/exported/web_plugin_container_impl.h"
    ],
    "html_canvas_painter_test.cc": [
        "+components/viz/test/test_context_provider.h",
    ],
    "local_dom_window.cc" : [
        "+net/base/registry_controlled_domains/registry_controlled_domain.h",
    ],
    "(computed_style|computed_style_test)\.cc" : [
        "+ui/base/ui_base_features.h"
    ],
    "media_query_evaluator.cc": [
        "+ui/base/pointer/pointer_device.h",
    ],
    "media_values.h": [
        "+ui/base/pointer/pointer_device.h",
    ],
}
